package org.example.serveletdemo;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;


//@WebServlet(name = "helloServlet", value = "/hello-servlet")
//一个Serverlet不止配置一个访问路径，可以有多个，需要通过urlPatterns
//@WebServlet(urlPatterns = {"/hello1","/hello2"})
@WebServlet(urlPatterns = "*.do")//扩展名匹配

public class HelloServlet extends HttpServlet {
    private String message;

    //初始化方法 在serverlet被创建的时候执行，只执行一次。
    public void init() {
        message = "Hello World!";
    }

    //HTTP get 请求接收的方法
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //打印请求路径
        System.out.println(request.getRequestURI());
        response.setContentType("text/html");

        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
    }

    //Serverlet 提供对应HTTP请求POST处理方法
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //处理除了GET方法之外的其他方法调用的时候，通过调用doGet方法进行转发请求
        this.doGet(req, resp);
//        super.doPost(req, resp);
    }

    //销毁方法 ，当我们的serverlet 被销毁，调用该方法
    // 在内存释放或者服务器被关闭的时候销毁serverlet
    public void destroy() {
    }
}